// 1. 在react中获取真实dom

// 1.1 创建ref对象
const ref = React.createRef()

// 1.2 绑定标签和ref对象
<div ref={ref}></div>

// 1.3 获取真实dom
ref.current

// 另一种方式: 
<div ref={(node)=>{}}></div>

// 2. 常用生命周期钩子

挂载

constructor
render 
compnentDidMount

更新
触发更新的三个条件: 1. setState 2. 父组件更新  3. 强制(forceUpdate)
render 
componentDidUpdate

卸载
componentWillunmount

// 3. 组件通讯

// props和context 
相同: 1. 自上而下传递  2. 都是react提供的技术
不同: 1. props只能父传子 2. context可以跨级传递

context使用: 

1. 创建一个context对象
const context = React.createContext()

2. 在传递数据的组件中,从context上面解构Provider
const {Provider} = context 

export default class Test extends Component {
  render() {
    return (
        <Provider value={要传递的数据}><div>00-复习</div></Provider>
    )
  }
}

3. 在接收数据的组件中. 从context对象上解构Consumer组件

export default class Son extends Component {
    render() {
      return (
          <Consumer>{(data)=>{
            return <div>son,{data}</div>
          }}</Consumer>
      )
    }
  }
//   另一种接收方式： 
export default class Son extends Component {
    static contextType = context对象
    render() {
      return (
        <div>son,{this.context}</div>
      )
    }
  }
